package com.mlk.core.component.page;

import java.io.Serializable;
import java.util.List;

import org.apache.commons.lang3.StringUtils;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 
 * 系统分页组件,适合layui完成
 * @author trekxu
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
@SuppressWarnings("serial")
public class Pager<T> implements Serializable{
	
	/**
	 *     "code": res.status, //解析接口状态
	      "msg": res.message, //解析提示文本
	      "count": res.total, //解析数据长度
	      "data": res.data.item //解析数据列表
	    };
	 * 
	 */
	
	private Integer code = 0;
	
	private String msg = StringUtils.EMPTY;
	
	/**
	 * 总数量
	 */
	private Long count;
	
	/**
	 * 分页的数据
	 */
	private List<T> data;
	
	public static <T> Pager<T> noData(String msg) {
		Pager<T> pager = new Pager<T>();
		pager.setMsg(msg);
		return pager;
	}
	
	/**
	 * 适配list的数据,转换成Pager对象
	 * @param data
	 * @return
	 */
	public static <T> Pager<T>  adapt(List<T> data) {
		Pager<T> pager = new Pager<T>();
		pager.setData(data);
		return pager;
	}
}
